Method and apparatus for optimizing reader power consumption by varying poll parameters in an automated inventory tracking system

ABSTRACT

Polling operations performed by a reader may be adjusted by a server. The server determines at least one of volatility measurements or polling operation parameters based on information obtained from components within an automated inventory tracking system. The automated inventory tracking system is part of an inventory management system. The server also obtains volatility measurements from another system within the inventory management system. The server incorporates the volatility measurements obtained from the other system, at least one of the volatility measurements or the polling operation parameters determined by the server, and power usage information associated with the reader into a periodic calculation to determine optimal polling parameters. The server periodically sends the optimal polling parameters to the reader for adjustment to a polling operation performed by the reader within a coverage area.

FIELD OF THE DISCLOSURE

The present disclosure relates generally to power consumption in RadioFrequency Identification (RFID) readers and more particularly tooptimizing power consumption in RFID readers based on informationobtained from separate systems within an inventory management system.

BACKGROUND

Radio Frequency Identification (RFID) systems have become increasinglyprevalent and can be used to identify people as well as objects. An RFIDsystem may be configured to include at least one RFID reader (alsoreferred to herein as reader) and one or more RFID tags (also referredto herein as tags). The RFID reader transmits radio frequency (RF)signals and receives RF signals from one or more tags within a certainrange. It should be noted that actual coverage areas within whichreaders transmit and receive RF signals are often not uniform and dependon many factors, including but not limited to, an antenna configurationof each reader, the RF characteristics of the area around the reader(e.g. empty space vs. metal obstructions), or the transmit power of eachreader. RFID tags are typically compact and are attachable to objects.

RFID tags are configured to include an integrated circuit for storingand processing information, modulating and demodulating RF signals, andperforming other specialized functions. RFID tags may include an antennain communication with the integrated circuit, wherein the antenna isused for transmitting RF signals to and receiving RF signals from theRFID reader. An RFID tag is usually tuned to a particular frequencyband.

In some implementations, RFID systems are deployed as part of aninventory management system. To maintain an accurate, up-to-dateinventory of items for sale, as part of the inventory management system,retail establishments may deploy separate interconnected systems, suchas an automated inventory tracking system for tracking the presence andlocations of items in the establishment and a point of sale system formonitoring which items are sold. The presence and locations of items inthe establishment may be tracked by affixing an RFID tag on each itemfor which automated inventory tracking is desired. The automatedinventory tracking system may include RFID readers powered withrelatively small batteries. These readers may be distributed throughoutthe establishment to provide RF coverage for areas where tagged itemsmay be located. Each reader periodically polls or interrogates the RFIDtags within its coverage area, i.e. each reader sends RF signals to andreceives RF signals from tags within its coverage area. After pollingthe tags for a predefined length of time (interrogation length), thereaders may send a list of read or retrieved tag identifiers (IDs) to asingle central server via, for example, Wireless Fidelity (Wi-Fi). Basedon data aggregated from one or more polls and/or from one or morereaders, the server may maintain key measurements for items in theinventory. For example, the server may maintain measurements about whichitems are present at a predefined location in the establishment. Theserver is capable of directing polling intervals, i.e. directing howlong each reader in the establishment is to wait before performing asubsequent poll.

Allowing all readers in the establishment to conduct frequent pollsprovides for timely notifications of changes for items being tracked.For example, when all readers in the establishment conduct frequentpolls, the server is able to quickly identify when a tracked tagged itemhas been moved from one location to another. The server may alsoincrease the interrogation length (the length of time the reader cansend RF signals to and receive RF signals from tags) or increase thereader's transmit power in an attempt to receive RF signals from moretags. However, when the server instructs the reader to conduct frequentpolls, increase the interrogation length and/or increase its transmitpower, the reader also increases usage of its battery power.

To minimize consumption of the reader's battery power, one approachallows for power savings by shutting off the readers during times whenthe establishment is closed. Using this approach, the reader may bemanually or automatically shut down when the establishment is closed tominimize battery power consumption. However, this approach does notprovide an avenue for minimizing battery power consumption while theestablishment is open and the system is expected to produce useableresults.

Another approach to minimizing battery power consumption reduces wiredor wireless reader to server communications. In this approach, only thedifference between results of a most recent poll and a poll immediatelyprior to the most recent poll is sent from the reader to the server. Itis noted, however, that communications between the reader and tags use alarger portion of the reader's total battery power than thecommunications between the reader and the server. Therefore, reductionof wired or wireless reader to server communications minimally affectsthe overall battery power consumption.

Another approach allows for minimizing the battery power consumption bymeasuring inventory change or volatility within the automated inventorytracking system and making adjustments to polling parameters, such asthe polling frequency or interrogation length, based upon themeasurements. It is noted, however, that this approach does not takeinto account inventory change or volatility measurements made by othersystems, such as point of sale systems, within the broader inventorymanagement system.

Accordingly, a method is needed for optimizing power consumption in theRFID radio by adjusting polling parameters based on information obtainedfrom separate systems within the inventory management system.

BRIEF DESCRIPTION OF THE FIGURES

The accompanying figures, where like reference numerals refer toidentical or functionally similar elements throughout the separateviews, together with the detailed description below, are incorporated inand form part of the specification, and serve to further illustrateembodiments of concepts that include the claimed invention, and explainvarious principles and advantages of those embodiments.

FIG. 1 is a block diagram of a Radio Frequency Identification (RFID)automated inventory tracking system used in accordance with someembodiments.

FIG. 2 is a block diagram of a RFID reader used in accordance with someembodiments.

FIG. 3 is a block diagram of a RFID tag used in accordance with someembodiments.

FIG. 4 is a flow diagram of a method of adjusting the attributes ofpolling operations performed by a reader within a coverage area inaccordance with some embodiments.

FIG. 5 is a block diagram of a server used in accordance with someembodiments.

FIG. 6 is a flow diagram of a method used by a reader used in accordancewith some embodiments.

Skilled artisans will appreciate that elements in the figures areillustrated for simplicity and clarity and have not necessarily beendrawn to scale. For example, the dimensions of some of the elements inthe figures may be exaggerated relative to other elements to help toimprove understanding of embodiments of the present invention.

The apparatus and method components have been represented whereappropriate by conventional symbols in the drawings, showing only thosespecific details that are pertinent to understanding the embodiments ofthe present invention so as not to obscure the disclosure with detailsthat will be readily apparent to those of ordinary skill in the arthaving the benefit of the description herein.

DETAILED DESCRIPTION

Some embodiments are directed to methods and apparatuses of adjustingpolling operations performed by a reader. A server determines at leastone of volatility measurements or polling operation parameters based oninformation obtained from components within an automated inventorytracking system. The automated inventory tracking system is part of aninventory management system. The server also obtains volatilitymeasurements from another system within the inventory management system.The server incorporates the volatility measurements obtained from theother system, at least one of the volatility measurements or the pollingoperation parameters determined by the server, and power usageinformation associated with the reader into a periodic calculation todetermine optimal polling parameters. The server periodically sends theoptimal polling parameters to the reader for adjustment to a pollingoperation performed by the reader within a coverage area. The pollingoperation parameters may include input for determining reader specificpolling attributes including a reader transmit power or a readerinterrogation length.

FIG. 1 is a block diagram of a Radio Frequency Identification (RFID)tracking system used in accordance with some embodiments. RFID system100 includes RFID readers 104 (also referred to herein as readers 104),each of which transmits radio frequency (RF) signals and receives RFsignals from one or more tags within a coverage area. As notedpreviously, actual coverage areas 108 of RFID readers 104 are notuniform and depend on many factors. For example, coverage areas forreaders 104 may depend on the antenna configuration of each reader, theRF characteristics of the area around each reader (e.g. empty space vs.metal obstructions), the transmit power of each reader or theinterrogation length of each reader. Readers 104 may operateindependently or may be coupled together to form a reader network.

Each reader 104 communicates with one or more RFID tags 102 (alsoreferred to herein as tags 102), within its coverage area. RFID tags 102can be affixed or attached to one or more items in order to determine aninventory of items within an establishment. Each reader 104 mayinterrogate RFID tags 102 within its coverage area 108 by transmittingan interrogation signal to the RFID tags within the reader's coveragearea. RFID tags 102 within the reader's coverage area may transmit oneor more response signals to the reader in a variety of ways, includingby alternatively reflecting and absorbing portions of the interrogationsignal according to a time-based pattern or frequency. The period duringwhich the interrogation signal and the response signals are sent betweenreader 104 and tags 102 is referred to herein as a interrogation period.

Each RFID tag 102 conveys identifying information, for example a numberassociated with an item, wherein the identifying information is used inconjunction with other information stored in the automated inventorytracking system to identify an individual item or type of item to whichthe tag is attached or affixed so that an inventory determination can bequickly accomplished through RFID interrogation. It should be noted thatRFID tags 102 may be affixed or attached to individual items or to agroup of items. For example, a tag may be affixed or attached to one ormore pallets with multiple items. In an embodiment, item(s) to beassociated with a location or region may be attached to a RFID tag 102which transmits identifying information about the item(s) to which theRFID tag is affixed or associated. RFID tags 102 can therefore provideinformation sufficient to be used in determining the types of items andthe number of items present within the establishment so that differenttypes of tag-to-location associations can be performed.

After receiving response signals from tags 102, readers 104 transmitdata obtained from tags 102 to a central server 106. Server 106 may usedata aggregated from multiple of interrogation sessions between aspecific reader and the associated tags 102 and/or data aggregated frommultiple readers 104 to determine polling parameters to be used foroptimizing polling with system 100. Server 106 is configured to provideparameters to the readers on how to communicate with tags 102. Forexample, server 106 may direct polling intervals used by readers 104within system 100, i.e. server 106 may direct how long each reader 104is to wait before performing a subsequent poll of tags 102 within itscoverage area.

FIG. 2 is a block diagram of a RFID reader used in accordance with someembodiments. RFID reader 104 generally includes a housing 202, a displayelement 203 that is visible from the outside of the housing 202, aninput element 204 that is accessible from the outside of the housing202, an electronics module 205 contained within the housing 202, and oneor more RFID antenna 206 (which can be, but is not necessarily,contained within the housing 202). Input element 204 may be a keypad, atouch panel or other input/output elements. The display element 203 andinput element 204 function as input/output elements during use of reader104. Display element 203 and input element 204 can be coupled toelectronics module 205 as necessary to support input/output functions ina conventional manner. Electronics module 205 may incorporate hardwarecomponents and software functionality of RFID reader 104. In someembodiments, electronics module 205 can be physically realized as anintegrated component, board, card, or package mounted within the housing202. Electronics module 205 may include one or more memory portions forstoring instructions, wherein one or more of the memory portions arecoupled to one or more processors for performing functions associatedwith RFID reader 104. Electronics module 205 can be coupled to the RFIDantenna 206 using suitable techniques. For example, the electronicsmodule 205 and the RFID antenna 206 can be connected via an RF cable andRF connector assemblies.

FIG. 3 is a block diagram of a RFID tag used in accordance with someembodiments. RFID tag 102 includes an antenna 302 and an integratedcircuit 304. Antenna 302 is configured to receive and transmit RFsignals. Integrated circuit 304 is configured to store and processinformation. RFID tag 102 can be positioned within transmission range ofthe RFID reader 104. Accordingly, RFID tag 102 can receive aninterrogation signal sent from RFID reader 104 with antenna 302.Integrated circuit 304 can perform one or more operations in response toreceiving the interrogation signal, including modulating theinterrogation signal. After processing the interrogation signal, RFIDtag 102 can transmit a response signal to RFID reader 104 throughantenna 302. Upon receipt of the response signal, RFID reader 104 mayextract information from the response signal and transmit the extractedinformation to the central server.

Returning to FIG. 1, embodiments are directed to adjusting the pollingparameters used by each reader 104 during retrieval of updated data fromtags 102 within the reader's coverage area at a frequency commensuratewith a current level of volatility within the establishment whileoptimizing consumption of the reader's battery power. Volatilitymeasurements include, for example, measuring changes associated withmovements of items being tracked, including measuring introduction toand/or removal of tracked items and/or changes in the locations oftracked items. Location volatility can be observed via, for example,changes in the set of readers reading a tracked tag or via, for example,changes over time to poll responses of a single reader. For example,attributes of positive poll responses or no poll responses obtained fromthe reader can be used in determining location volatility. An example ofusing attributes of positive poll response would be if the averagenumber of antennas on a single reader receiving responses from a tagchanges significantly over time, this may be an indication that theitem's position or orientation has changed, though such a change mightnot cause the set of readers reading the tag to change. There istypically a positive correlation between different aspects ofvolatility. For example, when an item is sold frequently, there is alikelihood that customers may also move the item to other locationswithin the establishment. Therefore, measurements of one aspect (e.g.sales) can be used to make predictions about volatility in general.

Hence, server 106 may incorporate volatility measurements associatedwith tagged items and battery utilization data into periodiccalculations to determine optimal polling parameters. It should be notedthat periodic calculations may be performed during fixed or variableintervals. The periodic calculations are sent from server 106 to reader104 to be used by readers 104 in adjusting the polling operation of eachreader 104 until receipt of the next calculation. For example, when anestablishment is closed and volatility is zero, the poll frequency ofeach reader 104 can be adjusted so that polls are conducted at afrequency of, for example, one poll every several hours, thereby using arelatively small percentage of the reader's battery power. On the otherhand, during busy hours, items are moved around the establishment andsold. Hence, the poll frequency of each reader 104 can be adjusted sothat polls are conducted more frequently to ensure that up to dateinformation about the locations of tracked items are available. Pollinginformation can be managed at various levels (e.g. system-wide,department or location, or a reader level) using volatility informationof the corresponding scope.

In one embodiment, input may be obtained from another system/componentof the broader inventory management system, for example, a sales system,such as a point-of-sale (PoS) system, or another system which providesinformation whenever an item is sold or added to the inventory. In somecases, when the server obtains input from the sales system thatindicates when a tagged item is removed from or added to the inventory,the server may be unable to determine the precise position on the salesfloor that the item was added to or removed from. In these cases, theinput obtained from the sales system can be used by the server to managepolling operations at a store-wide or department level. In other cases,even if the sales system does not provide location information for itemsadded or sold, the automated inventory management system itself may beable to track locations of items by, for example, making predictionsabout location. In these cases, the automated inventory managementsystem could take a tag identifier of an added or removed item from thesales system and combine the tag identifier with a predicted locationfor the item in order to manage the reader's polling. Hence, in caseswhere the input obtained from the sales system does not includeinformation regarding the locations of items within the establishment,the server can use volatility data obtained from the input formanagement of polling at the reader level.

In some embodiments, server 106 may also obtain input from inventoryinformation accessible to server 106 through the automated inventorytracking system. Server 106 may obtain the input over a period of timeto gauge volatility. Server 106 may use the automated inventory trackingsystem input to make periodic estimations of presence and locations ofitems. Server 106 may manage and adjust polling at various levels (forexample, at a department level or an individual reader level) based onthe periodic estimations of presence and locations of items.

Upon obtaining volatility information and input from other systems inthe inventory management system, server 106 may use a function tocalculate the measured volatility and to map the measured volatility toan appropriate polling operation, for example, polling frequency. Thisfunction can be, for example, a lookup in a static table or a complexcalculation designed to achieve a desired future volatility per pollbased on measured volatility. For example, if a calculation finds 0.1%volatility per poll and 0.2% per poll is target volatility per poll,server 106 could use the function to determine that the poll frequencyshould be cut in half.

To prevent continuously volatile inventory from using excessive batterypower, an upper limit can be selected for certain polling operations,such as the polling frequencies. For example, a fixed upper limit(f_(max)) may be chosen to guarantee a certain battery life in caseswhere the poll frequency remains at f_(max) for the entire life of thebattery. In some embodiments, a target battery level per unit time mayalso be set, wherein the poll frequency is permitted to increase only tothe point that the battery level will continue to remain at or below atarget level until the next time the poll frequency is calculated. Thisallows for a reader 104 that is using less than its battery budget at aparticular time to temporarily increase its polling frequency beyondf_(max) when necessary to keep up with volatile inventory.

Server 106 may also obtain periodic battery level reports from eachreader 104. This permits tracking of actual battery levels forcomparison with current and future target battery levels. Alternatively,server 106 could estimate each reader's remaining battery if it isprovided with initial battery energy levels and if it has knowledge ofhow much battery power each reader operation consumes. Because server106 knows the numbers and characteristics of the poll operations eachreader performs, server 106 could estimate each reader's remainingbattery. However, estimating each reader's remaining battery may be aless accurate way of estimating polling operations because theestimations typically cannot account for factors such as the variableefficiencies of different batteries.

In an embodiment, server 106 could calculate parameters for controllingpolling operations, such as poll frequencies at specific locationswithin the establishment, the interrogation length of each reader, thetransmit power of each reader, or the number of antennas to be used byeach reader during polling. In addition, server 106 could calculateparameters, such as a target battery usage rate, a target battery levelfunction, a poll frequency to battery usage rate function, a batteryusage rate to poll frequency function, a calculated poll frequencyfunction, volatility, and new poll frequency. Server 106 can determinepolling parameters based on information obtained from other systemswithin the broader inventory management system and/or informationobtained from the automated inventory tracking system, includinginformation obtained from the readers.

Consider the following example where various polling parameters arecalculated. In this example, if a reader battery should last t hours,where t is, for example 100, and the reader battery contains e units ofenergy at hour zero (0), where e is, for example, 1000 at hour 0, server106 may calculate the target battery usage rate (tgt_battery_usage_rate)as being equal to e divided by t, i.e.tgt_battery_usage_rate=1000/100=10 energy units per hour. Server 106 maycalculate the target battery level function (tgt_battery_lv1( )) at hourn as being equal to e minus the product of the tgt_battery_usage_ratemultiplied by n energy units, i.e. tgt_battery_lv1( )hour n=1000-(10*n)energy units, where 0<n<t.

If, in this example, each reader requires x units of power per poll,where x is, for example, four (4), and if each reader requires y unitsper hour for all other reader functions, where y is, for example, two(2), server 106 may calculate the poll frequency to battery usage ratefunction (poll_freq_to_batt_usage_rate( )), wherein thepoll_freq_to_batt_usage_rate( ) is equal to x units multiplied by pollfrequency (poll_freq) per hour and added to y units per hour, i.e.poll_freq_to_batt_usage_rate( )4*poll_freq+2 units per hour, wherein thepoll frequency may be set to a predefined default value. Server 106 mayalso calculate the battery usage rate to poll frequency function(batt_usage_rate_to_poll_freq( )) in polls per hour, wherein thebatt_usage_rate_to_poll_freq( ) is equal to the difference of batteryusage rate (batt_usage_rate) units per hour minus y units divided by xunits, i.e. batt_usage_rate_to_poll_freq( )=(batt_usage_rate =2)/4 pollsper hour.

The poll frequency may start at the predefined default value and may besubsequently calculated using a calculated poll frequency function(calc_poll_frequency( )), wherein the calc_poll_frequency( ) in pollsper hour is equal to an old poll frequency (old_poll_frequency) pollsper hour multiplied by a measured volatility (measured_volatility)percent per poll divided by a target volatility (target_volatility)percent per poll, i.e. calc_poll_frequency( ) in polls perhour=old_poll_frequency polls per hour*measured_volatility percent perpoll/target_volatility percent per poll.

In determining poll frequencies at specific locations within theestablishment, for example, at a department level, when a poll frequencyreevaluation timer (pfrt) is set to expire, for each departmentcontaining readers, server 106 may obtain the number of tags added tothe department after the information for the last poll was obtained fromanother system in the broader inventory management system, for examplethe point of sales system; server 106 may obtain the number of tagsremoved from the department after the information for the last poll wasobtained from an inventory module in the automated inventory trackingsystem; and server 106 may obtain the number of tags moved within thedepartment after the information for the last poll was obtained from alocation module in the automated inventory tracking system.

In an example, in a department selling household items, wherein thedepartment includes 1000 tagged items, the server may determine that apoll frequency reevaluation timer (pfrt), which is equal to 1 hour hasexpired. If server 106 determines that the readers in this departmenthave used 50 hours of battery power and the battery in each readercontains 504 units of energy, server 106 may use the data obtained fromother systems in the inventory management system and data obtained fromthe automated inventory tracking system, including data obtained fromthe inventory module and the location module in the automated inventorytracking system, to determine that since the last pfrt expiration, 30tagged items were moved within the department, 7 tagged items were addedto the department, and 3 tagged items were removed from the department.Server 106 may be pre-provisioned with a target volatility of onepercent per poll.

Using the information of the household department, server 106 maymeasure volatility within the household department to be equal to onehundred multiplied by the sum of the number of tags added to thedepartment (# tags_added), the number of tags removed from thedepartment (# tags_removed), and the number of tags moved within thedepartment (# tags_moved), wherein the product is divided by the numberof tags in the establishment (# tags in store), i.e. volatility=100*(#tags_added+# tags_removed+# tags_moved)/# tags instore=100*(7+3+30)/1000=4 percent per poll. Volatility couldalternatively be calculated as an average over a window of severalpolls.

Server 106 may also calculate a new poll frequency as beingnew_poll_freq =calc_poll_frequency(old_poll_freq, volatility); a newrate of use as being new_rate_of use=poll_freq_to_batt_usage_rate(new_poll_frequency); a maximum rate of useas being max_rate_of use =(current_battery_level—tgt_battery_lv1(currenthour+pfrt))/pfrt; and a maximum poll frequency as being ,max_poll_frequency=batt_usage_rate_to_poll_frequency(max_rate_of use).In an embodiment, if the new poll frequency is less than or equal to themaximum poll frequency, server 106 may send the new poll frequency toall readers in the department; otherwise, server 106 may send themaximum poll frequency to all readers in department.

Continuing with the household department example, if the previous pollfrequency is 1 poll per hour, server 106 may also calculate a new pollfrequency, new_poll_freq=1*4/1=4 polls per hour; new_rate_ofuse=4*4+2=18 energy units per hour; tgt_battery_level at hour51=1000−10*51=490 energy units; max_rate_of use=(504−490)/1=14 energyunits per hour; max_poll_frequency=(14−2)/4=3 polls per hour. In thisexample, because the new poll frequency is greater than the maximum pollfrequency, the readers will be instructed to poll at maximum pollfrequency or a rate of 3 polls per hour.

Server 104 may also use the battery level prediction and usage limitinglogic described above to optimize and place limits on other pollattributes, such as interrogation length (i.e. the length of timereaders wait for tag responses) and transmit power which also usevarying amounts of battery power when adjusted. As above, periodicallycalculated optimal adjustments may be limited, if necessary, by thecurrent battery level with respect to a current or future target level.A difference arises due to the fact that increases in interrogationlength and transmit power are primarily driven by a desire to energizeand then collect responses from additional tags during a single poll (asopposed to obtaining more frequent poll results). Therefore, adjustmentsto these parameters may be calculated on information other thanvolatility, for example, adjustments to these parameters may becalculated based on a target set of tags to energize. The target setcould be all or a subset of the tags the reader is capable of energizingat a given time if it uses its full power and maximum interrogationlength.

Whatever tags the target set of tags to energize contains, the minimuminterrogation length and transmit power necessary to energize these tagsmay be unknown and may vary over time. However, the system mayperiodically estimate these values. For example, this can beaccomplished by performing a series of test polls starting with a longerinterrogation length and high transmit power and backing down on one orboth parameters over successive polls to find the minimum valuesrequired to energize the target set of tags.

The target set of tags to energize may be significantly less thanmaximum set of tags a reader is capable of energizing due to the factthat accurate inventory tracking may not require all readers that couldpossibly read a tag to do so. When a tag is potentially covered by morethan one reader, it is possible to reduce the transmit power level orinterrogation length of one or more of those readers so that they seethe tag less frequently (or not at all). Before taking such an action,the system may first evaluate whether it might also result in the lossof coverage of a significant proportion of other tags which cannot becovered by another reader. This can be done by first executing the testpoll procedures as described above on all readers. The server may thenevaluate the results for each tag individually to determine per-readerwhich parameter settings form the boundary between seeing or not seeingthe tag. Multiple iterations of this process could produce an optimaldistribution of power and/or interrogation lengths across all readers sothat most tags are covered by as few readers as necessary and minimumoverall battery power is required.

In some embodiments, each reader 104 may incorporate volatilitymeasurements associated with tagged items and battery utilization datainto periodic calculations to determine optimal polling parameters. Itshould be noted that periodic calculations may be performed during fixedor variable intervals. The periodic calculations performed by eachreader 104 are used in adjusting the polling of the reader 104 until thenext calculation. In one embodiment, each reader 104 may obtain inputfrom another system/component of the broader inventory managementsystem, input from one or more components of the automated inventorytracking system and input from information obtained from tags within thereader's coverage area over a period of time to gauge volatility. Reader104 may use the automated inventory tracking system input and the inputfrom information obtained from tags within its coverage area to makeperiodic estimations of presence and locations of items and to manageand adjust its polling based on the periodic estimations of presence andlocations of items.

FIG. 4 is a flow diagram of a method of adjusting polling parametersused by a reader in accordance with some embodiments. The adjustmentsare based on volatility measurements associated with tagged items withina predefined location to optimize usage of power by the reader. In 410,the server determines at least one of volatility measurements or pollingoperation parameters based on information obtained from componentswithin an automated inventory tracking system, wherein the automatedinventory tracking system is part of an inventory management system. In420, the server obtains volatility measurements from another systemwithin the inventory management system. In 430, the server incorporatesobtained volatility measurements, at least one of the volatilitymeasurements or the polling operation parameters determined by theserver, and power usage information associated with the reader into aperiodic calculation to determine an optimal polling parameter. In 440,the server periodically sends the optimal polling parameter to thereader for adjustments to a polling operation performed by the readerwithin the coverage area.

FIG. 5 is a block diagram of a server used in accordance with someembodiments. Server 106 is configured to adjust polling operationsperformed by a reader within a coverage area to optimize usage of powerby the reader. Server 106 includes a determining unit 508 configured todetermine at least one of volatility measurements or polling operationparameters based on information obtained from components within anautomated inventory tracking system. The automated inventory trackingsystem is part of an inventory management system. The server alsoincludes an obtaining unit 502 configured to obtain volatilitymeasurements from another system within the inventory management system.Server 106 also includes a processing unit 504 configured to incorporatethe volatility measurements obtained from the other system, at least oneof the polling operation parameters and the volatility measurementsdetermined by the server, and power usage information associated withthe reader into a periodic calculation to determine an optimal pollingparameter. Server 106 also includes a transmitting unit 506 configuredto periodically send the optimal polling parameter to the reader foradjustments to a polling operation performed by the reader within acoverage area. It should be noted that functions of the determining unit508, obtaining unit 502, transmitting unit 506 may be performed by oneor more processors in server 106.

FIG. 6 is a flow diagram of a method used by a reader in accordance withsome embodiments. The reader includes the components noted above in FIG.2. The reader is configured to perform polling operations and to adjustthe polling operations based on at least one of volatility measurementsor polling operation parameters. In 610, the reader determines at leastone of volatility measurements or polling operation parameters based oninformation obtained from tags within a coverage area and based oninformation obtained from components within at least one of an automatedinventory tracking system or another system within an inventorymanagement system. The automated inventory tracking system is part of aninventory management system. In 620, the reader incorporates at leastone of the polling operation parameters, the volatility measurements orpower usage information associated with the reader into a periodiccalculation to determine an optimal polling parameter. In 630, thereader periodically adjusts a polling operation based on the optimalpoll parameter.

In the foregoing specification, specific embodiments have beendescribed. However, one of ordinary skill in the art appreciates thatvarious modifications and changes can be made without departing from thescope of the invention as set forth in the claims below. Accordingly,the specification and figures are to be regarded in an illustrativerather than a restrictive sense, and all such modifications are intendedto be included within the scope of present teachings.

The benefits, advantages, solutions to problems, and any element(s) thatmay cause any benefit, advantage, or solution to occur or become morepronounced are not to be construed as a critical, required, or essentialfeatures or elements of any or all the claims. The invention is definedsolely by the appended claims including any amendments made during thependency of this application and all equivalents of those claims asissued.

Moreover in this document, relational terms such as first and second,top and bottom, and the like may be used solely to distinguish oneentity or action from another entity or action without necessarilyrequiring or implying any actual such relationship or order between suchentities or actions. The terms “comprises,” “comprising,” “has”,“having,” “includes”, “including,” “contains”, “containing” or any othervariation thereof, are intended to cover a non-exclusive inclusion, suchthat a process, method, article, or apparatus that comprises, has,includes, contains a list of elements does not include only thoseelements but may include other elements not expressly listed or inherentto such process, method, article, or apparatus. An element proceeded by“comprises . . . a”, “has . . . a”, “includes . . . a”, “contains . . .a” does not, without more constraints, preclude the existence ofadditional identical elements in the process, method, article, orapparatus that comprises, has, includes, contains the element. The terms“a” and “an” are defined as one or more unless explicitly statedotherwise herein. The terms “substantially”, “essentially”,“approximately”, “about” or any other version thereof, are defined asbeing close to as understood by one of ordinary skill in the art, and inone non-limiting embodiment the term is defined to be within 10%, inanother embodiment within 5%, in another embodiment within 1% and inanother embodiment within 0.5%. The term “coupled” as used herein isdefined as connected, although not necessarily directly and notnecessarily mechanically. A device or structure that is “configured” ina certain way is configured in at least that way, but may also beconfigured in ways that are not listed.

It will be appreciated that some embodiments may be comprised of one ormore generic or specialized processors (or “processing devices”) such asmicroprocessors, digital signal processors, customized processors andfield programmable gate arrays (FPGAs) and unique stored programinstructions (including both software and firmware) that control the oneor more processors to implement, in conjunction with certainnon-processor circuits, some, most, or all of the functions of themethod and/or apparatus described herein. Alternatively, some or allfunctions could be implemented by a state machine that has no storedprogram instructions, or in one or more application specific integratedcircuits (ASICs), in which each function or some combinations of certainof the functions are implemented as custom logic. Of course, acombination of the two approaches could be used.

Moreover, an embodiment can be implemented as a computer-readablestorage medium having computer readable code stored thereon forprogramming a computer (e.g. comprising a processor) to perform a methodas described and claimed herein. Examples of such computer-readablestorage mediums include, but are not limited to, a hard disk, a CD-ROM,an optical storage device, a magnetic storage device, a ROM (Read OnlyMemory), a PROM (Programmable Read Only Memory), an EPROM (ErasableProgrammable Read Only Memory), an EEPROM (Electrically ErasableProgrammable Read Only Memory) and a Flash memory. Further, it isexpected that one of ordinary skill, notwithstanding possiblysignificant effort and many design choices motivated by, for example,available time, current technology, and economic considerations, whenguided by the concepts and principles disclosed herein will be readilycapable of generating such software instructions and programs and ICswith minimal experimentation.

The Abstract of the Disclosure is provided to allow the reader toquickly ascertain the nature of the technical disclosure. It issubmitted with the understanding that it will not be used to interpretor limit the scope or meaning of the claims. In addition, in theforegoing Detailed Description, it can be seen that various features aregrouped together in various embodiments for the purpose of streamliningthe disclosure. This method of disclosure is not to be interpreted asreflecting an intention that the claimed embodiments require morefeatures than are expressly recited in each claim. Rather, as thefollowing claims reflect, inventive subject matter lies in less than allfeatures of a single disclosed embodiment. Thus the following claims arehereby incorporated into the Detailed Description, with each claimstanding on its own as a separately claimed subject matter.

We claim:
 1. A method of adjusting polling operations performed by areader, the method comprising: determining, by a server, at least one ofvolatility measurements or polling operation parameters based oninformation obtained from components within an automated inventorytracking system, wherein the automated inventory tracking system is partof an inventory management system; obtaining, by the server, volatilitymeasurements from another system within the inventory management system;incorporating, by the server, the volatility measurements obtained fromthe other system, at least one of the volatility measurements or thepolling operation parameters determined by the server, and power usageinformation associated with the reader into a periodic calculation todetermine an optimal polling parameter; and periodically sending, by theserver, the optimal polling parameter to the reader for adjustment to apolling operation performed by the reader within a coverage area.
 2. Themethod of claim 1, wherein the volatility measurements include locationvolatility measurements associated with movements of tagged items beingtracked within a location, including measurements associated withintroduction of the tagged items into the location, removal of thetagged items from the location, changes in locations of the tagged itemsor changes in orientations of the tagged items in the location, andwherein the polling operation parameters include input for determiningreader specific polling attributes including a reader transmit power ora reader interrogation length.
 3. The method of claim 2, wherein thelocation volatility measurements are obtained based on changes in a setof readers reading a tagged item or based on changes over time to pollresponses of the reader.
 4. The method of claim 1, wherein thedetermining volatility measurements based on information obtained fromcomponents within the automated inventory tracking system comprisesdetermining volatility measurements over a period of time and makingperiodic estimations of presence and locations of tagged items, andwherein the periodically sending comprises sending the periodicestimations to the reader for adjustment to the polling operationperformed by the reader within the coverage area.
 5. The method of claim1, wherein the incorporating comprises mapping the volatilitymeasurements obtained from the other system and the polling operationparameters and the volatility measurements determined by the server toan appropriate poll operation according to a function.
 6. The method ofclaim 1, further comprising placing an upper limit on the pollingoperation performed by the reader within the coverage area, wherein ifthe optimal polling parameter is greater than the upper limit, thereader performs the polling operation at the upper limit, otherwise thereader performs the polling operation at the optimal polling parameter.7. The method of claim 1, further comprising setting a target powerlevel, wherein a frequency of the polling operation can be increasedsuch that a power usage level remains at or below the target powerlevel.
 8. The method of claim 1, wherein the volatility measurementsfrom components within the automated inventory tracking system include aperiodic battery power level report from the reader for comparison witha current power level or a future power level associated with the reader9. The method of claim 1, further comprising periodically setting, bythe server, upper limits on predefined poll attributes for adjustmentsin a number of antennas used by the reader, an interrogation length anda transmit power used by at least one antenna on the reader to energizeand collect responses from tags during a single poll.
 10. A serverconfigured to adjust polling operations performed by a reader, theserver comprising: a determining unit configured to determine at leastone of volatility measurements or polling operation parameters based oninformation obtained from components within an automated inventorytracking system, wherein the automated inventory tracking system is partof an inventory management system; an obtaining unit configured toobtain volatility measurements from another system within the inventorymanagement system; a processing unit configured to incorporate thevolatility measurements obtained from the other system, at least one ofthe polling operation parameters and the volatility measurementsdetermined by the server, and power usage information associated withthe reader into a periodic calculation to determine a optimal pollingparameter; a transmitting unit configured to periodically send theoptimal polling parameter to the reader for adjustments to a pollingoperation performed by the reader within a coverage area.
 11. The serverof claim 10, wherein the volatility measurements include locationvolatility measurements associated with movements of tagged items beingtracked within a location, including measurements associated withintroduction of the tagged items into the location, removal of thetagged items from the location, changes in locations of the tagged itemsor changes in orientations of the tagged items in the location, andwherein the polling operation parameters include input for determiningreader specific polling attributes including a reader transmit power ora reader interrogation length.
 12. The server of claim 11, wherein thelocation volatility measurements are obtained based on changes in a setof readers reading a tagged item or based on changes over time to pollresponses reported by the reader.
 13. The server of claim 10, whereinthe determining unit is configured to determine volatility measurementsbased on information obtained over a period of time and the processingunit is configured to make periodic estimations of presence andlocations of tagged items, and wherein the transmitting unit isconfigured to send the periodic estimations to the reader foradjustments to the polling operation performed by the reader within thecoverage area.
 14. The server of claim 10, wherein the processing unitis configured to calculate the optimal polling parameter based onvolatility measurements obtained from the other system and the pollingoperation parameters and the volatility measurements determined by theserver and to map the optimal polling parameter to an appropriate polloperation according to a function.
 15. The server of claim 10, whereinthe processing unit is configured to place an upper limit on the pollingoperation performed by the reader within the coverage area, wherein ifthe optimal polling parameter is greater than the upper limit, thereader performs the polling operation at the upper limit, otherwise thereader performs the polling operation at the optimal poll parameter. 16.The server of claim 15, wherein the processing unit is configured toallow the reader to temporarily perform the polling operation above theupper limit if the reader is performing the polling operation a ratethat is less than the upper limit.
 17. The server of claim 10, whereinthe processing unit is configured to set a target battery power level,wherein the attributes of the polling operation can be configured suchthat a power usage level at the reader remains at or below the targetbattery power level.
 18. The server of claim 10, wherein the obtainingunit is configured to obtain a periodic power level report from thereader for comparison with a current power level or a future power levelassociated with the reader.
 19. The server of claim 10, wherein thetransmitting unit is configured to periodically set upper limits onpredefined poll attributes for adjustment in an interrogation length anda transmit power used by the reader to energize and collect responsesfrom tags during a single poll.
 20. A reader configured to performpolling operations and to adjust the polling operations based onvolatility measurements, the reader comprising: a determining unitconfigured to determine at least one of volatility measurements orpolling operation parameters based on information obtained from tagswithin a coverage area and based on information obtained from componentswithin at least one of an automated inventory tracking system or anothersystem within an inventory management system; a processing unitconfigured to incorporate at least one of the polling operationparameters, the volatility measurements or power usage informationassociated with the reader into a periodic calculation to determine anoptimal polling parameter; an adjustment unit configured to periodicallyadjust a polling operation performed by the reader based on the optimalpolling parameter.